package cc.itstone.subject.application.convert;

import cc.itstone.subject.application.DTO.SubjectCategoryDTO;
import cc.itstone.subject.domain.entity.SubjectCategoryBO;
import cc.itstone.subject.infra.basic.entity.SubjectCategory;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

import java.util.List;

/**
 * @author stone
 */
@Mapper
public interface SubjectCategoryConverter {

    SubjectCategoryConverter INSTANCE = Mappers.getMapper(SubjectCategoryConverter.class);

    SubjectCategoryBO convertDtoToCategoryBo(SubjectCategoryDTO subjectCategoryDTO);

    SubjectCategoryDTO convertBoToCategoryDto(SubjectCategoryBO subjectCategoryBO);

    SubjectCategory convertBoToCategory(SubjectCategoryBO subjectCategoryBO);

    SubjectCategory convertDtoToCategory(SubjectCategoryDTO subjectCategoryDTO);

    List<SubjectCategoryDTO> convertToCategoryDtoList(List<SubjectCategory> subjectCategory);
}
